home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / TPREAL2.ARJ / RLIB.PAS < prev    next >
Pascal/Delphi Source File  |  1992-03-20  |  2KB  |  83 lines

  1. {$N-}{$A+}
  2. unit rlib;
  3.  
  4. interface
  5.  
  6. var matherrptr:pointer;
  7. function _mul(x,y:real):real;
  8. function _div(x,y:real):real;
  9. function _sqrt(x:real):real;
  10. function _arctan(x:real):real;
  11. function _exp(x:real):real;
  12. function _ln(x:real):real;
  13. function _sin(x:real):real;
  14. function _cos(x:real):real;     
  15.  
  16. implementation
  17.  
  18. {$L 00} {$L 01} {$L 02} {$L 03} {$L 04} {$L 06}
  19. {$L 10} {$L 11} {$L 12} {$L 13} {$L 14}
  20. {$L 22} {$L 23} {$L 30} {$L 31} {$L 32} {$L 33} {$L 34}
  21. function _mul(x,y:real):real;external;
  22. function _div(x,y:real):real;external;
  23. function _sqrt(x:real):real;external;
  24. function _arctan(x:real):real;external;
  25. function _exp(x:real):real;external;
  26. function _ln(x:real):real;external;
  27. function _sin(x:real):real;external;
  28. function _cos(x:real):real;external;
  29. procedure _001;external;
  30. procedure _00;external;
  31. procedure _01;external;
  32. procedure _02;external;
  33. procedure _03;external;
  34. procedure _04;external;
  35. procedure _06;external;
  36. procedure _10;external;
  37. procedure _11;external;
  38. procedure _12;external;
  39. procedure _13;external;
  40. procedure _14;external;
  41. procedure _15;external;
  42.  
  43. procedure hex(w:word);
  44. var
  45.     i,j:word;
  46. begin
  47.     for i:=1 to 4 do
  48.     begin
  49.         j:=(hi(w) and $f0) shr 4;
  50.         w:=w shl 4;
  51.         case j of
  52.             0..9:write(j);
  53.             else write(chr(j+55));
  54.         end;
  55.     end;
  56. end;
  57.  
  58. {$F+}
  59. procedure matherror(errorcode,segment,offset:word);
  60. begin
  61.     case errorcode of
  62.         1:write('Division by zero');
  63.         2:write('Floating point overflow');
  64.         3:write('Illegal function call');
  65.     end;
  66.     write(' at ');hex(segment);write(':');hex(offset-5);writeln;
  67.     halt;
  68. end;
  69.  
  70. begin
  71.     matherrptr:=@matherror;
  72. end.
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.